package com.yunxi.model.order;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 批售订单
 * </p>
 *
 * @author Guan
 * @since 2019-05-07
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName(value = "pms_order_oem")
@ApiModel(value="PmsOrderOem对象", description="批售订单")
public class PmsOrderOem implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键ID")
    @TableId(value = "ORDER_ID", type = IdType.UUID)
    private String orderId;

    @ApiModelProperty(value = "取消原因")
    @TableField("INFO")
    private String info;

    @ApiModelProperty(value = "创建时间")
    @TableField(value = "CREATE_DATE",fill = FieldFill.INSERT)
    private Date createDate;

    @ApiModelProperty(value = "创建人")
    @TableField("CREATE_BY")
    private String createBy;

    @ApiModelProperty(value = "修改时间")
    @TableField(value = "UPDATE_DATE",fill = FieldFill.UPDATE)
    private Date updateDate;

    @ApiModelProperty(value = "修改人")
    @TableField("UPDATE_BY")
    private String updateBy;

    @ApiModelProperty(value = "状态1启用0禁用")
    @TableField("STATUS")
    private Integer status;

    @ApiModelProperty(value = "是否删除")
    @TableField("IS_DEL")
    private Integer isDel;

    @ApiModelProperty(value = "备注")
    @TableField("MEMO")
    private String memo;

    @ApiModelProperty(value = "订单号")
    @TableField("ORDER_OEM_NO")
    private String orderOemNo;

    @ApiModelProperty(value = "2表示寄售 1表示批售")
    @TableField("TYPE")
    private String type;

    @ApiModelProperty(value = "总价格")
    @TableField("TOTAL_PRICE")
    private BigDecimal totalPrice;

    @ApiModelProperty(value = "税金")
    @TableField("TAXES")
    private BigDecimal taxes;

    @ApiModelProperty(value = "订购数量")
    @TableField("NUM")
    private Integer num;

    @ApiModelProperty(value = "0 未提交 1已提交 2已取消")
    @TableField("CHECK_STATUS")
    private Integer checkStatus;

    @ApiModelProperty(value = "付款方式")
    @TableField("PAYWAY")
    private String payway;

    @ApiModelProperty(value = "产品Code")
    @TableField("PRODUCT_CODE")
    private String productCode;

    @ApiModelProperty(value = "创建类型 0表示渠道商创建 1表示主机厂创建")
    @TableField("ORDER_CREATE_TYPE")
    private Integer orderCreateType;

    @ApiModelProperty(value = "渠道商代码")
    @TableField("PARTNER_CODE")
    private String partnerCode;

    @ApiModelProperty(value = "车系编码")
    @TableField("SERIES_CODE")
    private String seriesCode;

    @ApiModelProperty(value = "车系名称")
    @TableField("SERIES_NAME")
    private String seriesName;

    @ApiModelProperty(value = "车型编码")
    @TableField("MODEL_CODE")
    private String modelCode;

    @ApiModelProperty(value = "车型名称")
    @TableField("MODEL_NAME")
    private String modelName;

    @ApiModelProperty(value = "配置编码")
    @TableField("CATALOG_CODE")
    private String catalogCode;

    @ApiModelProperty(value = "配置名称")
    @TableField("CATALOG_NAME")
    private String catalogName;

    @ApiModelProperty(value = "内饰颜色编码")
    @TableField("COLOR_CODE_IN")
    private String colorCodeIn;

    @ApiModelProperty(value = "内饰颜色名称")
    @TableField("COLOR_NAME_IN")
    private String colorNameIn;

    @ApiModelProperty(value = "外饰颜色编码")
    @TableField("COLOR_CODE_OUT")
    private String colorCodeOut;

    @ApiModelProperty(value = "外饰颜色名称")
    @TableField("COLOR_NAME_OUT")
    private String colorNameOut;

    @ApiModelProperty(value = "品牌名称")
    @TableField("PRODUCT_NAME")
    private String productName;

    @ApiModelProperty(value = "返利金额")
    @TableField("REBATE_ACCOUNT")
    private BigDecimal rebateAccount;

    @ApiModelProperty(value = "返利比例")
    @TableField("REBATE_PROPORTION")
    private BigDecimal rebateProportion;

    @ApiModelProperty(value = "是否自提")
    @TableField("IS_PICKUP")
    private String isPickup;

    @ApiModelProperty(value = "发运日期")
    @TableField("DISPATCH_DATE")
    private Date dispatchDate;

    @ApiModelProperty(value = "渠道商仓库地址")
    @TableField("STORAGE_CODE")
    private String storageCode;

    @ApiModelProperty(value = "收货人")
    @TableField("LINKMAN")
    private String linkman;

    @ApiModelProperty(value = "联系方式")
    @TableField("LINKPHONE")
    private String linkphone;

    @ApiModelProperty(value = "选装包")
    @TableField("CUSTOM_PACK_CODES")
    private  String customPackCodes;

    @ApiModelProperty(value = "装包明细（字符串数据）")
    @TableField("CUSTOM_PACK_DETAILS")
    private  String customPackDetails;

    @ApiModelProperty(value = "市场价格")
    @TableField("MARKET_PRICE")
    private BigDecimal marketPrice;//市场价格
    @ApiModelProperty(value = "结算价")
    @TableField("SETTLEMENT_PRICE")
    private BigDecimal settlementPrice ; //结算价
    @ApiModelProperty(value = "优惠金额")
    @TableField("PREFERENTIAL_PRICE")
    private BigDecimal preferentialPrice; //优惠金额
    @ApiModelProperty(value = "税金")
    @TableField("TAXES_PRICE")
    private BigDecimal taxesPrice;   //税金

    @ApiModelProperty(value = "订单类型")
    private Integer orderType;

    private String vipOrderId;

    @TableField(exist = false)
    private BigDecimal discountProportion; //折扣

    @TableField(exist = false)
    private BigDecimal specialDiscountProportion;//折扣-固定值

    private Integer vehiclePurpose;

    private transient String vehiclePurposeCn;
}
